var  count  = 0;

$("#addBtn").click(function () {
    var lenth = $("tr").length;
    if (lenth > 10) {
        return;  //限制接口次数
    }
    $("#addTr").before('<tr><td ><input type="text" id= "name_' + count + '" class="interface_name" placeholder="接口名称'+count+'"></td><td > <input type="text"  id= "url_' + count + '" class="interface_url" placeholder="请输入URL">&nbsp;<button  class="delApi"  id= "romeType_' + count + '">x</button></td></tr>');
    $('#romeType_' + count).bind("click", function () {
        $("#msg").remove();
         $(this).parent().parent().remove();
    });
    count++;
    
});


//加载已经添加接口的列表
chrome.storage.sync.get(['api_data'], function(result) {
    if(typeof(result.api_data)=="undefined"){
        return;
    }
    var  jsonData  =  JSON.parse(result.api_data);

    for (var i = 0; i < jsonData.length; i++) {
        var html = '<tr>';
            html += '<td > <input type="text" id= "name_' + count + '" class="interface_name" placeholder="接口名称'+count+'" value="'+jsonData[i].name +'"></td>';
            html += '<td ><input type="text" id= "url_' + count + '" class="interface_url"   placeholder="请输入URL" value="'+jsonData[i].url +'" >&nbsp;<button  class="delApi"  id= "romeType_' + count + '">x</button></td>';
            html += '</tr>';
        $("#addTr").before(html);
        $('#romeType_' + count).bind("click", function () {
            $("#msg").remove();
            $(this).parent().parent().remove();

        });
        count++;
       
    }
    console.log("=============== 加载添加接口列表完成 ====================");
    

});



//表单去重
function distinct(arr) {
    const res = new Map();
    return arr.filter((a) => !res.has(a.name) && res.set(a.name, 1))
}


$("#save").bind("click", function () {  //绑定事件
    $("#msg").remove();
    var arr = new Array();
    var arrAdd =  new Array();
    for (var i = 0; i < jsonApi.length; i++) {
        arr.push({"name":jsonApi[i].name,"url":jsonApi[i].url});//配置文件加载的;
    }
    //获取表单数据,判断是否为空
    for (var num = 0; num < count; num++) { 
        var name = $("#name_" + num).val();
        var url = $("#url_" + num).val();       
        if(name==""|| url==""){
            $("#save").after('<span id="msg" style = "color:red;  margin-left: 6px; font-size: 10px;">表单不能为空</span>');  
            return;
        }
        if(typeof (name)!="undefined"&&  typeof (url)!="undefined"){
            arrAdd.push({ name, url});
        }
    }
    var arrList =  arr.concat(arrAdd); //合并数据
    var  newArr =  distinct(arrList); //去重

    //校验接口名称是否重复;
    if(newArr.length != arrList.length){
        $("#save").after('<span id="msg" style = "color:red;  margin-left: 6px; font-size: 10px;">接口名称不能重复</span>');  
        return ;
    }
    //校验选中的接口是否存在;
    var name =  $("#interface").find("option:selected").text(); 
    var flag = 0; //不存在
    newArr.forEach(item=>{
        if(item.name == name){
            flag =1; //存在
            return false;  
        }
    })
    if(flag!= 1){
        $("#save").after('<span id="msg" style = "color:red;  margin-left: 6px; font-size: 10px;">失败,企图删除默认接口</span>');
        return; 
    }
    var default_open = $("input[name='Fruit']:checked").val();

    var default_api = {"name":$("#interface").find("option:selected").text().trim(),"url":$('#interface').val()} ;

    //存默认选中的接口
    chrome.storage.sync.set({"default_api":default_api });
    //存默认选中的窗体
    chrome.storage.sync.set({"default_open":default_open });

    if(arrAdd.length>0){
        chrome.storage.sync.set({"api_data":JSON.stringify( arrAdd )}); //将新添加的数据放入内存
    }else{
        chrome.storage.sync.remove("api_data")
    }
    $("#save").after('<span id="msg" style = "color:green;  margin-left: 6px; font-size: 10px;">保存成功</span>'); 
    init(); //初始化
    
});














